package us.gaaoc.framework.model;

import java.math.BigInteger;
import java.security.cert.X509Certificate;
import java.util.Date;



/**
 * 
 * @author hea
 * @date Jul 13, 2006
 * @version: GAJE 1.5
 *
 */
public class Signatures implements java.io.Serializable {
	
	private String uuid;
	private byte[] signatureValue;
	private Date creationDate;
	private Date expirationDate;
	private Person signedByPerson;
	private Documents document;
	private byte[] certificateChain;
	private String signatureTrackingId;
	
	//more properties added by Sukhada
//	private String canonicalizationMethodAlgorithm;
//	private String signatureMethodAlgorithm;
//	private String referenceURI;
//	private String transformAlgorithm;
//	private String digestMethodAlgorithm;
//	private String digestValue;
//	private byte[] x509Certificate;
	
	private byte[] digestValue;
	private String issuerName;
	private BigInteger issuerNumber;
	private X509Certificate x509Certificate;
	
	
	/**
	 * @return the x509Certificate
	 */
	public X509Certificate getX509Certificate() {
		return x509Certificate;
	}
	/**
	 * @param certificate the x509Certificate to set
	 */
	public void setX509Certificate(X509Certificate certificate) {
		x509Certificate = certificate;
	}
	/**
	 * @return the issuerName
	 */
	public String getIssuerName() {
		return issuerName;
	}
	/**
	 * @param issuerName the issuerName to set
	 */
	public void setIssuerName(String issuerName) {
		this.issuerName = issuerName;
	}
	/**
	 * @return the issuerNumber
	 */
	public BigInteger getIssuerNumber() {
		return issuerNumber;
	}
	/**
	 * @param issuerNumber the issuerNumber to set
	 */
	public void setIssuerNumber(BigInteger issuerNumber) {
		this.issuerNumber = issuerNumber;
	}
	/**
	 * @return the certificateChain
	 */
	public byte[] getCertificateChain() {
		return certificateChain;
	}
	/**
	 * @param certificateChain the certificateChain to set
	 */
	public void setCertificateChain(byte[] certificateChain) {
		this.certificateChain = certificateChain;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}
	public Documents getDocument() {
		return document;
	}
	public void setDocument(Documents document) {
		this.document = document;
	}
	public Date getExpirationDate() {
		return expirationDate;
	}
	public void setExpirationDate(Date expirationDate) {
		this.expirationDate = expirationDate;
	}
	public byte[] getSignatureValue() {
		return signatureValue;
	}
	public void setSignatureValue(byte[] signatureValue) {
		this.signatureValue = signatureValue;
	}
	public Person getSignedByPerson() {
		return signedByPerson;
	}
	public void setSignedByPerson(Person signedByPerson) {
		this.signedByPerson = signedByPerson;
	}
	public String getUuid() {
		return uuid;
	}
	public void setUuid(String uuid) {
		this.uuid = uuid;
	}
//	/**
//	 * @return the canonicalizationMethodAlgorithm
//	 */
//	public String getCanonicalizationMethodAlgorithm() {
//		return canonicalizationMethodAlgorithm;
//	}
//	/**
//	 * @param canonicalizationMethodAlgorithm the canonicalizationMethodAlgorithm to set
//	 */
//	public void setCanonicalizationMethodAlgorithm(
//			String canonicalizationMethodAlgorithm) {
//		this.canonicalizationMethodAlgorithm = canonicalizationMethodAlgorithm;
//	}
//	/**
//	 * @return the digestMethodAlgorithm
//	 */
//	public String getDigestMethodAlgorithm() {
//		return digestMethodAlgorithm;
//	}
//	/**
//	 * @param digestMethodAlgorithm the digestMethodAlgorithm to set
//	 */
//	public void setDigestMethodAlgorithm(String digestMethodAlgorithm) {
//		this.digestMethodAlgorithm = digestMethodAlgorithm;
//	}
//	/**
//	 * @return the digestValue
//	 */
//	public String getDigestValue() {
//		return digestValue;
//	}
//	/**
//	 * @param digestValue the digestValue to set
//	 */
//	public void setDigestValue(String digestValue) {
//		this.digestValue = digestValue;
//	}
//	/**
//	 * @return the referenceURI
//	 */
//	public String getReferenceURI() {
//		return referenceURI;
//	}
//	/**
//	 * @param referenceURI the referenceURI to set
//	 */
//	public void setReferenceURI(String referenceURI) {
//		this.referenceURI = referenceURI;
//	}
//	/**
//	 * @return the signatureMethodAlgorithm
//	 */
//	public String getSignatureMethodAlgorithm() {
//		return signatureMethodAlgorithm;
//	}
//	/**
//	 * @param signatureMethodAlgorithm the signatureMethodAlgorithm to set
//	 */
//	public void setSignatureMethodAlgorithm(String signatureMethodAlgorithm) {
//		this.signatureMethodAlgorithm = signatureMethodAlgorithm;
//	}
//	/**
//	 * @return the transformAlgorithm
//	 */
//	public String getTransformAlgorithm() {
//		return transformAlgorithm;
//	}
//	/**
//	 * @param transformAlgorithm the transformAlgorithm to set
//	 */
//	public void setTransformAlgorithm(String transformAlgorithm) {
//		this.transformAlgorithm = transformAlgorithm;
//	}
//	/**
//	 * @return the x509Certificate
//	 */
//	public byte[] getX509Certificate() {
//		return x509Certificate;
//	}
//	/**
//	 * @param certificate the x509Certificate to set
//	 */
//	public void setX509Certificate(byte[] certificate) {
//		x509Certificate = certificate;
//	}
//	
	/**
	 * @return the digestValue
	 */
	public byte[] getDigestValue() {
		return digestValue;
	}
	/**
	 * @param digestValue the digestValue to set
	 */
	public void setDigestValue(byte[] digestValue) {
		this.digestValue = digestValue;
	}

	/**
	 * @return the signatureTrackingId
	 */
	public String getSignatureTrackingId() {
		return signatureTrackingId;
	}
	/**
	 * @param  signatureTrackingId. Sets the signatureTrackingId
	 */
	public void setSignatureTrackingId(String signatureTrackingId) {
		this.signatureTrackingId = signatureTrackingId;
	}
}
